#ifndef IMGPRO_H
#define IMGPRO_H
#define _USE_MATH_DEFINES
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <math.h>
using namespace cv;
typedef struct warp
{
    double origCenterX;
    double origCenterY;
    double nowCenterX;
    double nowCenterY;
    double radius;
    Mat img;
    Mat dst;
} _warp;

void MedianFilter(cv::Mat M,cv::Mat M1, int window);
void GaussianBlur(Mat M, Mat M1, int window,int delta);
void Filter(Mat M,Mat M1, int window);
void ghostFilter(Mat M,Mat M1, int window);
void SaturateProc(Mat M,Mat M1, int window);
void sharpen(Mat img, Mat result);
void imageWarp(warp * w);
void BilateralFilter(Mat M, Mat M1,int deltad ,int deltar, int window);
void _BilateralFilter(Mat M, Mat M1,int deltad ,int deltar, int window);
void LomoFilter(Mat M,Mat M1,int window);
void WhiteShit(Mat M, Mat M1, int alpha);


#endif // IMGPRO_H
